$(function(){
    //全选
    //1.给全选做点击事件
    $('.allSelect').click(function(){
        //2.获取当前allSelect的状态值(标签上的 checked属性的值)
        let status=$(this).prop('checked');
        // 3.让 单选input标签同步 全选的状态值
        $('.singleSelect').prop('checked',status);
        // 4.让另一个全选也选中
        $('.allSelect').prop('checked',status);
    })

    // 反选:  单个input标签中,只要有一个未选中,就不能全选操作
   //点击事件
    $('.singleSelect').click(function(){
        //定义标杆   主要用于后期 全选的判定
        let flag=true;

        //2.获取到所有单选 input标签的状态值
        //let status=$('.singleSelect').prop('checked');// 获取到一组input标签中的第一个input的状态值

        //遍历
        $('.singleSelect').each(function(i,v){
           // 2.获取到所有单选 input标签的状态值
           let status=$(this).prop('checked');

           //判定
           if(!status){
                flag=false;
                //主要用于优化性能
                return false;
           }


        })

        //判定是否进行选中
        $('.allSelect').prop('checked',flag); 

        //计算总价和总数量
        allCount()

    })


    //商品加功能
    $('.addNum').click(function(){
        //获取当前商品的值
        let num=$(this).siblings('input').val();

        //自增1
        num++;

        // 把结果值给到指定.txt标签上 
        $(this).siblings('input').val(num)

        //计算小计:  单价*数量=小计
        count(this,num)
        
        

    })


    //商品减功能
    $('.reduceNum').click(function(){
        //获取当前商品的值
        let num=$(this).siblings('input').val();

        //自减1
        num--;

        //判定
        if(num<1)return;

        // 把结果值给到指定.txt标签上 
        $(this).siblings('input').val(num);

        //计算小计
        count(this,num)

    })


    //小计功能
    function count(obj,num){
        //获取当前行商品的单价
        let sPrice=$(obj).closest('td').siblings('.sPrice').text();
        //小计
        let price=(sPrice*num).toFixed(2);
        //把当前结果给到指定小计位置上
        $(obj).closest('td').siblings('.price').text(price);
    }

        // 总价和总数量功能
    function allCount(){
        //1.定义变量保存  总价和总数量
        let totalPrice=0;//总价
        let totalNum=0;//总数量

        //2.针对已经选中商品才进行计算 
        $('.singleSelect:checked').each(function(i,v){

            //计算总数量  需要在原来的基础上进行累加操作
            totalNum+=parseInt($(v).closest('tr').find('.txt').val());
        })

        //输出
        // 3.把结果放到指定位置
        $('.allNum').text(totalNum)
        
        
    }
    // 总计
    function allCount(){
        // console.log(666);
        //1.定义变量保存  总价和总数量
        let totalPrice=0;//总价
        let totalNum=0;//总数量

        //2.针对已经选中商品才进行计算 
        $('.singleSelect:checked').each(function(i,v){
            // console.log(v);

            //计算总数量  需要在原来的基础上进行累加操作
            // console.log($(v).closest('tr').find('.txt').val());
            totalNum+=parseInt($(v).closest('tr').find('.txt').val());

            //计算总价格
            totalPrice+=parseFloat($(v).closest('tr').find('.price').text())
            
        })

        //输出
        // 3.把结果放到指定位置
        $('.allNum').text(totalNum);
        $('.allPrice').text(totalPrice.toFixed(2));
    }













})